System and method for controlling a drilling machine

ABSTRACT

A system and method for drilling a borehole using a drilling rig having a rotary drill bit includes monitoring one or more drilling parameters; determining whether the one or more monitored drilling parameters are within predetermined specifications for one or more of the monitored drill parameters; and, executing an exception control procedure for control of a drilling parameter. The exception control procedure receives an input sensor value associated with a drilling parameter and applies feedback control to establish a scaled error value that is used to compute a setting value for the drilling parameter. The drilling parameters controlled may include the rotation speed of the drill bit, the feed rate of the drill bit, the weight-on-bit, or rotation torque during retraction of the drill bit. A computer-readable database of specifications of drill bits may be provided as a part of the system.

CLAIM FOR PRIORITY

This application is a divisional of, and claims the priority of, U.S.patent application Ser. No. 15/465,798, filed Mar. 22, 2017; whichapplication further claims the priority of U.S. Provisional PatentApplication, Ser. No. 62/430,568, filed Dec. 6, 2016.

BACKGROUND Technical Field

This disclosure relates to methods and systems for drilling boreholes inthe earth in general, and more specifically, to methods and systems fordrilling blast holes of the type commonly used in mining and quarryingoperations.

Background

Various systems and methods for drilling boreholes are known in the artand have been used for decades in a wide variety of applications, forexample, from oil and gas production, to mining, to quarryingoperations. In mining and quarrying operations, such boreholes aretypically filled with an explosive that, when detonated, ruptures orfragments the surrounding rock. Thereafter, the fragmented material canbe removed and processed in a manner consistent with the particularoperation. When used for this purpose, then, such boreholes are commonlyreferred to as “blast holes,” although the terms may be usedinterchangeably.

A number of factors influence the effectiveness of the blast, includingthe nature of the geologic structure (i.e., rock), the size and spacingof the blast holes, the burden (i.e., distance to the free face of thegeologic structure), the type, amount, and placement of the explosive,as well as the order in which the blast holes are detonated. Generallyspeaking, the size, spacing, and depth of the blast holes represent theprimary means of controlling the degree of rupture or fragmentation ofthe geologic structure, and considerable effort goes into developing ablast hole specification that will produce the desired result. Becausethe actual results of the blasting operation are highly correlated withthe degree to which the actual blast holes conform to the desired blasthole specification, it is important to ensure that the actual blastholes conform as closely as possible to the desired specification.

Unfortunately, however, it has proven difficult to form or drill blastholes that truly conform to the desired specification. First, a typicalblasting operation involves the formation several tens, if not hundreds,of blast holes, each of which must be drilled in proper location (i.e.,to form the desired blast hole pattern) and to the proper depth. Thus,even where it is possible to achieve a relatively high hole compliancerate (i.e., the percentage of blast holes that comply with the desiredspecification), the large number of blast holes involved in a typicaloperation means that a significant number of blast holes neverthelessmay fail to comply with the specification. In addition, even where blastholes are drilled that do comply with the desired specification, anumber of post-drilling events, primarily cave-ins, can make a blasthole non-compliant. Indeed, such post-drilling events can be majorcontributors to blast hole non-compliance.

Still further, because of the large number of blast holes that aretypically required for a single blasting operation, methods areconstantly being sought that will allow the blast holes to be formed ordrilled as rapidly as possible. As with most endeavors, however, thereis an inverse relationship between speed and quality, and systems thatwork to increase speed at which a series of blast holes can be drilledusually come at the expense of hole quality. Consequently, there is aneed for methods and systems for forming blast holes that will ensureconsistent blast hole quality while minimizing the adverse effects onthe speed of blast hole formation.

There is a desired ratio of penetration rate per drill bit revolutionwhere the drill bit carbides penetrate and fracture the rockefficiently, resulting in desirable drilling speed and bit-wearcharacteristics. This ratio is referred to as the depth of cut (DOC). Anoptimum rate of penetration (ROP) for drilling efficiency can becalculated by multiplying the maximum rotation speed by the DOC. Priorart methods have used a simple feedback loop to adjust the feed forceapplied to the bit to maintain an assumed optimum penetration rate.(Feed force applied to the bit being generally proportional to theachieved rate of penetration.) In this application the terms “feedforce” and “weight-on-bit” or “WOB” are used interchangeably.

However, at times it may be desirable to sacrifice the efficiency of theideal depth of cut to achieve a higher penetration rate. Conversely itmay be desirable to sacrifice rate of penetration to achieve longerconsumable life; that is, the life of the drill bit. Also, suchprior-art methods give an optimum DOC at a single penetration rate. Whatis needed is a method of monitoring and adjusting these opposing goalsto achieve optimum drilling efficiency over a wide range of penetrationrates, depending on local drilling conditions. As used in thisapplication, the term “drilling efficiency” is not a precisely-definedterm, but refers to the optimum ratio of the rate of penetration of thebit to the energy expended for extraction of a given volume of rock,taking into consideration also the amount of bit wear in suchextraction.

Although this application is focused on solving problems in blast holedrilling operations, the disclosure and claims are equally applicable tothe drilling of boreholes in other fields, such as oil and gas drilling.

DRAWINGS

Non-limiting embodiments of the present disclosure are described by wayof example in the following drawings, which are schematic and are notintended to be drawn to scale:

FIG. 1 depicts generally a drilling rig and control system.

FIG. 2 depicts schematically functions comprising the control system ofan embodiment.

FIGS. 3A and 3B are partial views of the same graphical model showingexemplary procedures for the control of drill rotation speed.

FIGS. 4A and 4B are partial views of the same graphical model showingexemplary procedures for the control of depth-of-cut.

FIGS. 5A and 5B are partial views of the same graphical model showingexemplary procedures for an exception controller.

FIGS. 6A and 6B are partial views of the same graphical model showingexemplary procedures for the a PIV feedback controller.

FIGS. 7A and 7B are partial views of the same graphical model showingexemplary procedures for the weight-on-bit limiting calculation.

FIG. 8 is a graphical model showing exemplary procedures for details ofthe weight-on-bit limiting-line calculation.

FIG. 8A is a graph illustrating the relationship of the variables in thelimiting-line calculation.

FIGS. 9A and 9B are partial views of the same graphical model showingexemplary procedures for a feed rate controller.

FIGS. 10A and 10B are partial views of the same graphical model showingexemplary procedures for a feed-rate control sub-model.

FIG. 11 is a graphical model showing exemplary procedures for apositioning control sub-model.

FIGS. 12A and 12B are partial views of the same graphical model showingexemplary procedures for the control of water injection.

FIGS. 13A and 13B are partial views of the same graphical model showingexemplary procedures for the control of air injection.

DETAILED DESCRIPTION Overview of System

Generally, the system and method of the present disclosure enhancesdrilling efficiency and borehole quality by monitoring one or moredrilling parameters while the boreholes are being drilled. The monitoreddrilling parameters are compared with predetermined specifications forthe parameters. If the monitored drilling parameter or parameters isoutside the specification, the system selects and executes one or moreprocedures to adjust to ensure that drilling is carried out to thedesired specification.

A graphical program or graphical model is a diagram comprising aplurality of interconnected nodes or icons, wherein the plurality ofinterconnected nodes or icons visually indicate functionality of theprogram. The interconnected nodes or icons are graphical source code forthe program. Graphical function nodes may also be referred to as blocks.Exemplary graphical program development environments which may be usedto create graphical programs include LabVIEW from National Instrumentsor Simulink from MathWorks. Many of the figures in this application areillustrations adapted from Simulink graphical models, but such figuresare merely illustrative examples and do not limit the claims to anyparticular graphical program or depiction. The claimed methods could beimplemented, for example, in C or C++ code directly. The meaning of theSimulink symbols shown in the drawings should be known to those skilledin the art, but if needed, descriptions of such symbols may be found atthe Simulink web site, https://www.mathworks.com, and the links there tothe relevant symbol libraries.

Referring now to FIG. 1, in one embodiment, the system 100 may comprisea drilling rig 110 having a mast or derrick 120 configured to support adrill string 130 having a drill bit 140 provided on the end thereof.Drilling rig 110 may also be provided with various systems for operatingthe drill string 130 to form boreholes 180. For example, in theembodiments shown and described here, drilling rig 110 may also comprisea drill motor system 150, a drill hoist system 160, as well as an airinjection system and a water injection system (not shown in FIG. 1). Theterm “hoist system” as used here refers to any system or actuator forraising and lowering the drill string, which may include a conventionalpulley and sheave hoist system or actuator motors.

The system 100 comprises a control system 170 that is operativelyassociated with the drilling rig 110, as well as with the varioussystems thereof, e.g., a motor system 150, a hoist system 160, or an airinjection system and water injection system (not shown in FIG. 1). Aswill be explained in greater detail below, control system 170 monitorsvarious drilling parameters generated or produced by the various drillsystems and controls them as necessary to form the borehole 180 into thesurface of the formation 190.

The drill motor system 150 is connected to the drill string 130 and maybe operated by a control system 170 to provide a rotational force ortorque to rotate the drill bit 140 provided on the end of the drillstring 130. The control system 170 may operate the drill motor system150 so that the drill bit 140 rotates in either the clockwise orcounterclockwise directions. The drill motor system 150 may also beprovided with various sensors and transducers (not shown in FIG. 1) toallow the control system 170 to monitor or sense the torque applied tothe drill bit 140, as well as the rotational speed and direction ofrotation of the drill bit 140.

The drill hoist system 160 is also connected to the drill string 130 andmay be operated by control system 170 to raise and lower drill bit 140.As was the case for the drill motor system 150, the drill hoist system160 may also be conventionally provided with various sensors andtransducers (not shown) to allow the control system 170 to monitor orsense the hoisting forces applied to the drill string 130, and thus theweight-on-bit (WOB), as well as the vertical position or depth of thedrill bit 140.

FIG. 2 schematically shows the control system 170 referred to above at ahigh level. FIG. 2 is not limiting, and the control system 170 maycomprise other and further components relevant to its function. Thecontrol system 170 includes a computer 200 that is typically aprogrammable digital computer comprising a read-only memory, anon-transitory computer readable storage medium for storing instructionsexecutable by a processor (such as a random-access memory), acentral-processing unit or processor, and a hard drive or flash memoryor the like for further storage of programs and data, as well as inputand output ports.

In FIG. 2, the drill hoist system 160 and the drill motor system 150 areshown schematically as operatively connected to the computer 200 of thecontrol system. Also present in practical drilling systems, and alsooperatively connected to the computer 200, may be an air-injectionsystem 230 and a water-injection system 240, which systems may alsoinclude various sensors and transducers to allow the control system 170to monitor or sense the amounts or flows of injected fluids.

The control system 170 also may include a display 210 with a graphicaluser interface, and an operator's control console 220, connected to thecomputer 200 to receive inputs from an operator during a drillingoperation, and provide information to the operator. The operator'sconsole 220 may include a keyboard, keypad, joystick, mouse, or otherinput device. In this application, the collective input mechanisms ofthe operator's console 220 and the display 210 may be referred togenerally as a graphical user interface, or GUI. The display 210 of theGUI may of course provide one or more pages of information and inputfields to an operator. The operator console 220 may not necessarily belocated on the drilling rig 110, but may be remotely connected to thecontrol system.

As further discussed below, the computer 200 of control system 170 isoperatively connected to a database 250 of predetermined drillingparameters.

In the drilling system 100 and methods claimed here, a database 250 isprovided having predetermined settings and parameters for achievingoptimum performance of the drilling system 100. Such settings andparameters can include drill-bit class codes provided by theInternational Association of Drilling Contractors (IADC), as well asphysical characteristics, such as drill bit diameter and cutting-toothheight. In the operation of one embodiment of the drilling system 100,an operator chooses the IADC code of the bit being used from a dropdownmenu on the operating system GUI of the control console 220. The drillbit data and drill pipe diameter values are similarly entered. Fromthese inputs, calculations are performed as described below, and theoptimum operating range for the bit chosen is used for automatic controlof drilling, and also displayed as a reference for manual drilling.

Further, in one embodiment, a maximum rotation speed for the drill bit140 is stored the database 250 for each IADC code, and also a minimumrotation speed for all bit types. The desired operating window for therange of rotation speed is displayed on the GUI and used by the controlsystem 170 for automatic control, as further explained.

A maximum rotation torque value per unit drill bit diameter is alsostored within the database 250. A maximum drilling torque is calculatedby multiplying this value by the entered drill bit diameter, asexplained more fully below. The maximum drilling torque may also becalculated as a percentage of the torque capability of the drilling rig110 to prevent rotation stall. The lesser value of the bit maximumdrilling torque or rig maximum drilling torque is used. This value isdisplayed on the GUI and used as the point where the control system 170will begin to reduce feed force to regulate torque. In some embodimentsa recommended bit air pressure range is stored in the database 250 anddisplayed on the GUI based on good drilling practice for rotary bits.

An ideal depth-of-cut (DOC) for each IADC code and a maximum feed ratefor that depth of cut is then calculated as explained below. Thecutting-tooth height for a range of drill bit sizes and IADC codes isprovided in the database 250, and this data is extrapolated to estimatethe cutting-tooth height for any size rotary drill bit of each IADC code(typically, cutting-tooth height is not published by bit manufacturers,but must be measured). When an operator chooses the IADC code and bitsize in the GUI, the ideal depth of cut is calculated as a fraction ofestimated cutting tooth height. It has been found preferable to set theideal depth of cut to approximately 66% of the estimated cutting toothheight.

This ideal DOC may then be used in the calculation for commandedrotation speed by the control system 170. This ideal DOC is also used inthe calculation for feed force command used by the control system 170.This ideal DOC is further used in the calculation for maximum feed ratecommand of the control system 170, in which case the maximum feed rateis displayed on the GUI. The maximum feed rate is set by multiplying theideal DOC by the maximum rotation speed and a predetermined factor, forexample 400%. We have found the latter factor to be a reasonable for awide variety of drill bit types. The maximum feed rate is relevant tothe control system 170 when operating in voids or very soft ground,where feed force control is no longer an effective means of controllingfeed rate. For example, if the feed rate of drilling is too fast becauseof very soft formations, cuttings will not be removed from the boreholefast enough.

Further, in one embodiment, a weight-on-bit (WOB) maximum value for agiven unit drill bit diameter is stored within the database 250 for eachIADC code. The operating maximum WOB is then calculated by multiplyingthis maximum value stored in the database 250 by the diameter of thechosen bit. A weight-on-bit minimum is calculated by multiplying theoperating maximum by some fraction, for example 33%. The desiredoperating WOB range is displayed on the GUI and used by the controlsystem 170 for automatic control, as further explained below.

The model of FIG. 7, explained in more detail below, illustrates thesteps of the control system 170 carried out to calculate and command apossibly varying weight-on-bit. The feed force is regulated by themotors in the hoist system 160. In one embodiment, the control system170 applies feedback control to command feed force in inverse proportionto the DOC. A maximum feed force boundary is set based on bit size andtype to prevent overloading the bit and causing premature damage. Aminimum feed force boundary is set as a proportion of the maximum;preferably the minimum is set to 33% of the maximum. The minimum is setto keep the bit firmly engaged to the rock, to prevent unwantedvibration which would also cause premature damage.

In this application, “aggressiveness” refers to a consumable-life vs.rate-of-penetration scale, preferably chosen by the operator in the GUI.The “consumable” would generally be the drill bit, drill pipe, fuel forrunning the drilling rig 110 and water used in the drilling process. Theaggressiveness may be adjusted by the user to balance the cost ofdrilling time against the cost of drill bits. The aggressiveness isscaled from 0-10 with 0 being the least aggressive and 10 being the mostaggressive.

The system will target the maximum feed force between penetration ratesof zero and a percentage of optimum penetration rate. The optimumpenetration rate is the fastest we can drill at maximum drillingefficiency. At the most aggressive setting, the percentage of optimumpenetration rate is set at about 125%. The system will target minimumfeed force when the penetration rate exceeds another percentage ofoptimum penetration rate; at the most aggressive setting, thispercentage of optimum penetration rate is set at about 300%. The feedforce target decreases linearly from maximum at about 125% of optimumfeed rate to minimum at about 300% of optimum feed rate. These valuesfor the most aggressive setting provide maximum rate of penetrationwhile exception controllers (described below) prevent undue waste ofconsumables or damage to the drilling rig 110.

As described in more detail below, the feed force, minimum air pressureand bailing velocity values are directly adjusted by the aggressivenesssetting. (Bailing velocity is the velocity of the flushing travelingfrom the cutting surface to the top of the borehole.) The maximum feedforce is reduced at lower aggressiveness settings, typically to aminimum of about 50% at the lowest aggressiveness setting. Thepercentage of optimum penetration rate also decreases at less aggressivesettings down to a minimum of about zero.

Regarding control of air pressure, the minimum air pressure targetincreases linearly with increased aggressiveness. The bailing velocitytarget increases linearly with aggressiveness. Generation of airflow islarge consumer of power in the drilling process therefore operating atlower airflow at less aggressive settings will reduce fuel burn. Reducedairflow will also decrease abrasion wear on drill pipe. In addition, atlower aggressiveness settings, the operating rotation speed, and waterflow rates will generally be reduced, because in this system the targetsfor these are proportional to feed rate. In addition to the userselecting an aggressiveness setting, the system may adjust theaggressiveness setting automatically. Each time drilling parametersexceed a jam value, the aggressiveness is reduced by one increment.After a distance or time without exceeding a jam value, theaggressiveness automatically increases back to the operator setpoint.

A feedback loop compares the actual feed force as measured by sensorsand monitors the calculated target feed force. If error is present, thecontroller increases or decreases the weight-on-bit actuator output toreduce the error and meet the calculated target weight-on-bit.

Water is used in the blast hole drilling process for dust suppressionand hole stabilization. Water is injected into the drill string andflows with flushing air out of the bit where it mixes with cuttings fromthe drilling process. Water can have a negative effect on drilling bitlife and can slow drilling penetration rate. It is desired to use theminimum amount of water necessary to achieve the dust suppression andhole stabilization goals.

As described below, this control of the amount of water injected by thecontrol system 170 is performed with a water flow strategy that injectswater in proportion to the amount of material being removed in thedrilling process. The amount of material being removed is calculated bymultiplying the borehole area by the current rate of penetration, or,(Pi/4)*Dbit{circumflex over ( )}2*R, where Dbit is the bit diameter, andR is the rate of penetration. For normal drilling a low proportion ofwater to cuttings is used, for example the volume of water wouldpreferably be equal to about 5% of the volume of cuttings. Less waterwill be used as drilling slows and more water will be used as drillingspeed and the amount of cuttings increases, so dust can be suppressedwith a minimum amount of water.

In one embodiment, the control system 170 commands an output from thewater injection system 240 to achieve the calculated water-flow target.If there is no water-flow sensor present, the commanded water flow is inproportion to the maximum output of the water-injection system 240. If awater-flow sensor is present, a feedback loop is used to measure errorbetween commanded and actual water flow output and adjustments are madeto reduce the error.

In unstable ground it can be beneficial to use increased water socuttings will clump together and fill voids. The start of a blast holeis generally drilled through ground that has been fractured by theprevious blast of the material above it, and the ground is thereforeless stable. The control system 170 is programmed to use the sameproportional strategy as just described, but with an increased ratio ofwater, for example, about 15%, to stabilize the ground while in holecollaring mode (i.e. starting the hole).

It is further desirable to stabilize the blast hole and cuttings pilegenerated while drilling so the borehole 180 will remain intact anddrill depth remain accurate until the borehole 180 is loaded withexplosives. To achieve this, the control system 170 again uses the sameproportional strategy, but a uses much higher ratio of water, forexample, about 50%, while near the bottom of the hole, for example,within one meter of target depth. This water mixes with the cuttings andforms a layer of mud in the borehole 180 and over the top of thecuttings pile. As this mud layer dries, it forms a hard stable cap tothe borehole 180. As shown below, the control system 170 automaticallyswitches between the three described water flow targets based on thevertical position of the drill bit 140 in the borehole 180.

Control of compressed air flow control is illustrated in FIG. 13 belowand the accompanying discussion

DESCRIPTION OF EMBODIMENTS

FIG. 3 is a graphical model 300 showing exemplary procedures for thecontrol of the rotation speed of the drill bit 140 through regulation ofthe drill motor 150. As stated above, the Simulink modeling language isused in this and other figures to disclose the claimed methods, but themethods are not dependent on, nor do they require, the use of Simulinkmodeling or any particular modeling language.

Table 1 following lists definitions for the various identifiers shown inthe graphical models shown in FIGS. 3, 4, 5, and 6, relevant to theprocedures for control of rotation speed. (In the identifiers used inthis disclosure, the word “plant” refers generally to a value from asensor on the drilling rig 110, as opposed to a target value or inputparameter.)

TABLE 1 Name Source Description c Calculated AutoDrill is operating incollaring mode at start of hole DOCSet Calculation Depth of cut(penetration per revolution) value in m/revolution typically set to ⅔the height of the cutting teeth on the bit K Parameter Gain values forrotation speed feedback loop Ki Parameter Integral gain KiN ParameterIntegral gain for rotation speed feedback loop KN Parameter Gain valuesfor rotation speed feedback loop Kp Parameter Proportional gain KpNParameter Proportional gain for rotation speed feedback loop KvParameter Derivative gain KvN Parameter Derivative gain for rotationspeed feedback loop Max Parameter Value at which jam escape willactivate tor retract the bit, used to scale error Min CalculationMinimum setpoint of parameter exception controller will directly adjustto prevent jam condition NDrillMax Parameter Maximum rotation speed(RPM) that rig is capable of Nin Calculation Rotation speed target afterfeedback loop adjustment NLowerLim Calculation Minimum rotation speed(RPM) based on rig torque capability to maintain stable rotationNLowerLim Calculation Minimum rotation speed (RPM) based on rig torquecapability to maintain stable rotation Nout Output Rotation speed targetafter scaling, range from 0 to 100%(max rig rotation speed) Nplantsensor Current measured rotation speed from rig (RPM) NSet OutputRotation speed target in (RPM) based on DOC, collaring, or retractionantijam NSetCollaR Calculation Rotation speed setting to be used whilecollaring, (RPM), typically set at 120% of minimum rotation speedNUpperLim Calculation Maximum rotation speed (RPM) based on rigcapability or bit manufacturers recommendation. On Output Indicationthat exception controller is reducing parameter setpoint to prevent jamcondition Plant sensor Current value of parameter exception controlleris indirectly attempting to modify Rfiltered sensor Current measuredfeed rate from rig (m/min) RTUpOn Calculated identifies when retractiontorque control feed rate should be used to reduce feed up rate SetCalculation Current setpoint of parameter exception controller willdirectly adjust to prevent jam condition SetOut Output Adjusted outputof parameter being directly adjusted to prevent jam condition TargetParameter Value which exception controller attempts achieve

Rotation speed control model 300 receives the parameters as input shownin FIG. 3. DOC control model 400 outputs a rotation speed target basedon either the depth of cut, collaring setting, or retraction anti jamsetting. DOC control model 400 is further explained with respect to FIG.4. The exception control model 500 receives the rotation speed targetsetting from the DOC control model 400, and uses feedback control toreduce the rotation speed target setting when a threshold is crossed, toprovide for jam prevention. The outputs of the exception control model500 are the parameters Vbon and NsetVB. The exception control model 500is further explained in detail with respect to FIG. 5.

The reader should note that the exception control model is generic toother functions in this disclosure, and also appears withdifferently-named input parameters in FIGS. 7 and 9. The following tablerelates the class of exception-controller variable names to thecorresponding variable names in the various applications of theexception controller model.

TABLE 1A Variable Rotation Feed Rate Feed Rate Feed Class Speed down APup Torque Force K KVB KAPR KRTUpR KRTW Kp KpVB KpAPR KpRTUpR KpRTW KiKiVB KiAPR KiRTUpR KiRTW Kv KvVB KvAPR KvRTUpR KvRTW Max VBMax APMaxRTMax RTMax Target VBTarget APTarget RTUpTarget RTTarget Plant VbplantAPPlant RTPlant RTPlant Set Nset Rset RSlowUp Wset Min NLowerLim RminRUpMin WLowerLim SetOut NSetVB R_APC R_RTUp WSetRT On Vbon APOn/dAPOnRTUpOn Rton

In the rotation speed control model 300, if the jam prevention controlis active, as set by parameter VBon, then the value from the exceptioncontroller will be used instead of the normal output target rotationspeed. FIG. 3 further shows a PIV control model 600. PID control, usingproportional, integral, and derivative gain, is a common method of servotuning and is well-suited for applications that can be modeled as alinear function that does not vary with time. PIV control goes one stepfurther and places a velocity feedback loop inside the position feedbackloop. This additional feedback loop makes PIV control better atregulating velocity than PID control is. The PIV control model 600, orother proportional model chosen, adjusts the rotation speed output tothat the plant value matches the target rotation speed output by the DOCcontrol model 400. The PIV control model 600 of the present disclosureis further explained with respect to FIG. 6. In this disclosure, unlessotherwise stated, either PIV or PID control functions or other similarcontrol functions may be implemented.

The output value of the PIV control model 600 shown in FIG. 3 is scaledby dividing the adjusted output value by the maximum output value of thedrilling rig 110, and the result limited to values between 0 and 1 inblock 310. This resulting value is then output as a percentage commandto the rotation actuator, in this case, the drill motor 150.

FIG. 4 illustrates the DOC control model 400 referenced by the rotationspeed model 300 described above. The DOC control model receives as inputthe Rfiltered parameter and the DOCSet parameter. The currentpenetration rate Rfiltered is divided by the desired depth of cut tocalculate the desired rotation speed for the current feed rate. That is,revolutions/minute=(penetration/minute)/(penetration/revolution). If thecollaring mode is active (parameter c>0) then the fixed collaringrotation speed target is used instead of the depth-of-cut based rotationspeed target. If retraction anti jam mode is active (parameterRTUpOn>0), then the maximum rotation speed is used to prevent stallingwhile back reaming, instead of either the collaring or the depth-of-cutrotation speed target.

Continuing with FIG. 4, the target rotation speed to be output isrestricted to between the maximum allowed rotation speed and the minimumrotation speed in the illustrated saturation dynamic block. The maximumvalue is the lesser of the capabilities of the drilling rig 110, or thedrill bit manufacturer's recommendations. The minimum value ispreferably chosen to maintain stable rotation.

FIG. 5 illustrates the exception control model 500 referenced by therotation speed model 300 described above. This model uses feedbackcontrol to reduce the target setting when a threshold is crossed, toprovide for jam prevention. Inputs are scaled to jam prevention variablerange and outputs are scaled to the control variable range.

A threshold for jam prevention is preferably monitored by detectinglateral vibration of the drilling rig 110, which vibration can bemeasured with a sensor, such as an accelerometer, mounted to thedrilling rig 110 support structure. Optionally, the sensor would outputthe vibration as a root-mean-squared G-force.

Exception control model 500 receives as input parameters KpVB, KiVB,KvVB, VBMax, and VBTarget, and also sensor value VBplant, representingthe vibration magnitude. The VBTarget value is the setting where jamprevention begins. The VBMax value is the setting where retraction isstarted to escape a jam. The target is subtracted from the maximum, andthe resulting value is used to scale the controller response. TheVBplant value is subtracted from the VBTarget value. If the VBplantvalue is higher than VBTarget, the result will be negative. Theresulting error value is divided by the range between max and target tocalculate a scaled error.

The scaled error value is multiplied by a proportional gain, and alsomultiplied by an integral gain, which latter result is then integratedover time. The sensor value Vbplant is multiplied by a derivative gain,and the derivative of the sensor value is taken. Proportional andintegral values are added and derivative value is subtracted from thetarget value to create an adjustment value.

Further, with regard to FIG. 5, the lower limit for the variable beingcontrolled (NlowerLim) is subtracted from the current setpoint (Nset) ofthe value being controlled to scale the range of the response. Seeinputs to exception control block 500 in FIG. 3. The value 1 is added tothe adjustment factor, representing 100%. If the adjustment value isnegative due to a plant value being larger than the target value, thiswill result in an output target less than 100%. The range for thevariable being controlled is multiplied by the adjustment percentage andthen added to the lower limit for the variable (parameter outputNsetVB). If the adjustment value is positive this indicates alternativecontrol will not be active; if the adjustment value is negative, thenthis indicates that alternative jam prevention control is active and anindication is given to the operator (parameter output VBon)

FIG. 6 describes the PIV feedback control model 600 referred to in FIG.3. This model adjusts the output of the rotation speed control model 300so that the sensor value Nplant is urged to match the target valueVBTarget. The values Nmax, Nset, and Nmin are input to a saturationdynamic block so that the target value VBTarget will be limited tobetween the maximum and minimum desired values. The target value is fedthrough to the output to speed response. This latter feature acts as afeed-forward, providing a scaled output directly and not influenced byinstantaneous gain values. This makes the feedback loop less sensitiveto gain tuning. To improve accuracy, a feedback loop is used to adjustthe output. The plant sensor value Nplant is subtracted from the targetto measure the error. The error is multiplied by a proportional gain andalso by an integral gain and then integrated over time, and the sensorvalue is multiplied by a derivative gain and the derivative of thesensor value is taken. Proportional and integral values are added andthe derivative value is subtracted from the target value to create anadjusted output.

FIG. 7 describes the graphical model for the weight-on-bit (WOB) orfeed-force control. This model creates a feed-force setpoint based oninput parameters and sensor values. After calculation, a command isoutput to the actuator of the drilling rig 110, generally, the hoistsystem 160.

Table 2 following lists definitions for the various identifiers shown inthe graphical models shown in FIGS. 7 and 8, relevant to the proceduresfor force-feed control.

TABLE 2 Name Source Description c Calculated AutoDrill is operating incollaring mode at start of hole Hbplant sensor current measuredhydraulic resistance to feed force from rig kN (kiloNewtons) KWParameter Gain values for feed force feedback loop ParamsRTW Parametersignal bus containing gain parameters, max and target values forretraction torque control R sensor Current measured feed rate from rig(m/min) Rplant sensor Current measured feed rate from rig (m/min) RtonOutput Digital signal, 1 = retraction torque exception control isactive, 0 = not active RTPlant sensor Current measured rotation torquefrom rig kN*m Tsignal Calculated commanded feed direction, 1 = feed down(drilling direction), 0 = no feed, −1 = feed up (tripping out direction)WDrillMax Parameter Maximum feed force in kN that rig is capable ofapplying WLowerLim Calculated Setting for minimum feed force applied tobit in kN, based on bit manufacturers recommendations for bit type andsize, users aggressiveness setting and current number of jams, typically33% of maximum Wset Wout Output Feed force target after scaling, rangefrom 0 to 100%(max rig feed force) WoutLimitingLine Output Feed forcetarget in kN which decreases as feed rate increases WoutPIC Output Feedforce target in kN after adjustment from PIV feedback loop WPeakDrillingCalculated Value of feed force limiting line at 0 m/min when drilling,based on bit manufacturers recommendations for bit type and size, usersaggressiveness setting and current number of jams WPeak Calculated Valueof feed force limiting line at 0 m/min when drilling, based on bitmanufacturers recommendations for bit type and size, usersaggressiveness setting and current number of jams, here it is either thenormal or collaring Wpeak WPeakCollar Calculated Value of feed forcelimiting line at 0 m/min when collaring, typically 50% of Maximum WsetWplant sensor Current measured feed force from rig kN WString CalculatedCalculated weight of drill string which adds to feed force on bit kNWSet Calculated Setting for maximum feed force applied to bit in kN(kiloNewtons), based on bit manufacturers recommendations for bit typeand size, users aggressiveness setting and current number of jams WSlopeCalculated Reduction in feed force applied per increase in measured feedrate, kN/(m/min)

Referring to FIG. 7, the graphical model for force-feed or WOB control,the torque exception controller 710 takes the currently-measured torqueRTPlant and ParamsRTW (the latter a signal bus containing gainparameters, maximum and target values for retraction torque control) andoutputs a target WOB (WsetRT) and a signal Rton indicating torqueexception control will be used instead of limiting line control. Torqueis controlled by reducing feed force through the torque exceptioncontroller 710. This works because rotation torque is in generalproportional to feed force while drilling See FIG. 5 in the discussionof rotation speed control for the general model of an exceptioncontroller, used here for torque control.

Further in FIG. 7, a switch determines if collaring mode is on or off.If collaring mode is off, then parameter WPeak is used for the value ofthe feed force limiting line (explained below). If collaring mode is on,then parameter WPeak collar is used for the value of the feed forcelimiting line. This value is input to the WOB limiting-line calculationmodel 800, described below with reference to FIGS. 8 and 8A.

Referring to FIG. 8, the WOB limiting-line calculation model 800 createsa feed-force setpoint based on input parameters and sensor values asfollows. The calculation shown is Wout=(Wslope*Rplant)+Wpeak. That is,the feed-force target is the result of multiplying the current feed ratevalue (Rplant) by the reduction in feed force applied per increase inmeasured feed rate value (Wslope) and adding the feed force target atzero feed rate, Wpeak. The Wslope value is negative, so feed forcedecreases as feed rate increases.

A graph of the calculation in the WOB limiting-line calculation model800 is displayed in FIG. 8A. The WOB limiting-line calculation model 800calculates the limiting line shown on FIG. 8A based on the Wslope andWpeak parameters which are calculated from the bit classificationdatabase. Wpeak will be reduced for lower aggressiveness settings,resulting in the diagonal portions of exemplary WOB lines denoted WOB10, WOB 7, and WOB 5 shown in FIG. 8A.

Note that the WOB 0 line is equivalent to the collaring Wpeak. In FIG.8A, the lines for WOB 10, WOB 7, and WOB 5 intersect the Rplant valuezero at values for Wset, and all attain a horizontal slope at the valueof WLowerLim. From this model, based on the currently-measured feedrate, Wout is calculated.

Returning to FIG. 7, in a saturation dynamic block, the output from thetorque exception control block 710 is limited to be between the WOBlimiting-line calculation as an upper bound and zero as a lower bound.This upper bound only allows values from the torque exceptioncontroller, which reduces feed force. This value is further limited tobe between a maximum and minimum feed-force setting appropriate for theselected bit, the upper bound is reduced with a lower aggressivenesssetting, shown as the upper left horizontal portion of each WOB linesdenoted WOB 10, WOB 7, WOB 5, and WOB 0 on FIG. 8A.

The minimum value is the lower horizontal line which is common to allaggressiveness settings. While retracting, or during retractionanti-jam, the WOB setpoint is used directly, so that feed force will notthen be reduced based on penetration rate or measured torque. The PIVfeedback controller 715 is used to adjust the output so the plant valuematches the target. Finally, in the scaling block 720 shown in FIG. 7,the drill string weight is subtracted from the target value andhydraulic resistance is added to the target value. The adjusted outputvalue is divided by the maximum output value of the drilling rig 110,and the result limited to values between 0 and 1. This value is thenoutput as a percentage command to the hoist actuator 160.

FIG. 9 describes the graphical model for feed-rate control. This modeltakes as input sensor values and parameters and outputs a feed-ratetarget for the hoist actuator 160 of the drilling rig 110. Table 3following lists definitions for the various identifiers shown in thegraphical models shown in FIGS. 9, 10, and 11 relevant to the proceduresfor feed-rate control.

TABLE 30 Name Source Description APC_Rset Calculated Rate of feed fromAir pressure control exception control feedback loop APOn Output Digitalsignal, 1 = feed down high air pressure exception control is active, 0 =not active dAPOn Output Digital signal, 1 = feed down rapidly rising airpressure exception control is active, 0 = not active DistToPosCalculated Distance from current head position to target head positionDNearBottom Parameter Distance from hole bottom where slow feed speedshould be used, typically set to 1 m KR Parameter Gain values for feedrate feedback loop KRTUpR Parameter Gain values for retraction torqueexception feedback loop On Calculated identifies when air pressurecontrol feedback loop feed rate should be used to reduce feed down rateParamsAPR Parameter signal bus containing gain parameters, max andtarget values RDrillMax Parameter maximum feed down rate rig is capableof in m/min RDrillMaxUp Parameter maximum feed up rate rig is capable ofin m/min RFastDown Parameter Rate for fast down feed speed, typicallyrig maximum feed down rate RFastDown Parameter Rate for fast down feedspeed, typically rig maximum feed down rate RFastUp Parameter Rate forfast feed up, typically set to maximum rig feed up rate RFU Calculated 1= use fast feed up, 0 = do not use fast feed up; parameter is 0 whencurrent position is less than DNearBottom from bottom of hole or lessthan MaxCollarDistance from top of hole, otherwise 1 Rmin Constantminimum feed down rate, typically set to 0 m/min ROut Output Feed ratetarget after scaling, range from −100%(max rig feed up rate) to 100%(maxrig feed down rate) ROutPIV Output Feed rate target after feedback loopadjustments in m/min Rplant sensor Current measured feed rate from rigRpos Output calculated feed rate target in m/min from R_positionsubsystem RSlowUp Parameter Rate for slow feed up, typically set to 65ft/min (about half speed for most rigs) RSlowUp Parameter Rate for slowfeed up, typically set to 65 ft/min (about half speed for most rigs)RTC_Rset Calculated Rate of feed from retraction torque controlexception control feedback loop RTMax Parameter Rotation torque valuewhere jam escape begins, typically set to 90% of rig capability RTPlantsensor Current measured rotation torque from rig RTUpOn Output Digitalsignal, 1 = feed up rotation torque exception control is active, 0 = notactive RTUpTarget Parameter Rotation torque value where retraction jamprevention begins, typically set to 50% of rig capability RUpminConstant Minimum feed up rate, typically set to −2 m/min to allowfeeding down to escape a retraction jam Rvoid Parameter Rate for slowdown feed speed, scales to bit type and diameter, typically 4x optimalDOC feed speed, limits speed to prevent runaway if a void is encounteredwhile drilling, also used to slow feed before re engaging rock whenreturning to drilling after cleaning or jamming Tsignal Calculatedcommanded feed direction, 1 = feed down (drilling direction), 0 = nofeed, −1 = feed up (tripping out direction)

Referring to FIG. 9, the inputs and constants shown in the feed ratemodel 900 pass to an air-pressure exception control block 910 and atorque retract exception control block 920, which exception controlblocks have the same function as described in FIG. 5, with differentinput variables here. The air pressure exception control block is usedfor air pressure jam prevention by reducing feed down rate when airpressure is high or rising quickly. This slows generation of newcuttings and allows for a blockage to clear. Air pressure parameters areused for the jam prevention variables and feed down rates are thecontrol variables. The torque-retract exception control block is usedfor retraction torque jam prevention by reducing feed up rate whentorque is high while retracting. Rotation torque parameters are used forthe jam prevention variables and feed up rates are the controlvariables. Outputs from these blocks and the input variables indicatedare input to the Regulate Rset block 930, described further in FIG. 10.The output of the Regulate Rset block 930 is scaled as shown, such thatthe adjusted output value is divided by the maximum output value for thedrilling rig 110, and the result is limited to values between 0 and 1for feed up, or 0 and −1 for feed down. This value is then output as apercentage command to the motor 150 of the drilling rig.

The Regulate Rset block 930 is shown in the graphical model of FIG. 10.This block receives input sensor values and parameters and outputs afeed rate target, based on a direction command, the position in thehole, and whether air pressure or retraction torque exceptioncontrollers are active.

The R_position block 1010 shown in FIG. 10 allows for fast feed-downwhen far from the hole bottom and a proportional ramp down in feed speedto a controlled lower feed rate when approaching the hole bottom.Referring now to FIG. 11 illustrating the R_position block 1010, thevariable DNearBottom is the distance from the bottom of the hole wherethe lower feed speed should begin. This is subtracted from the currentdistance to the position and multiplied by a factor so that the furtherthe current position is from the target position, the faster the targetspeed will be. A minimum desired speed is added to this target speed.Then the target is bound to be between a maximum fast feed speed and theminimum target speed.

Returning to FIG. 10, if Air Pressure Control is active, the target feedspeed from the Air Pressure exception controller is used, otherwise theR_position feed speed target is used (see switch block 1030). The valueis then bound to be between the R_position value and 0. In the feed updirection (see switch block 1020), a slow feed target is set when nearthe top or bottom of the hole, otherwise a fast feed speed target isused. Referring to switch block 1040, if retraction torque control isactive, the target feed speed from the retraction torque exceptioncontroller is used; otherwise the feed up speed target is used. Thevalue is then bound to be between the feed up target speed and a minimumvalue which allows reversal of feed to escape a high torque condition.Referring to switch block 1050, a command signal of 1 sets thecontroller to use the feed down speed target. A command signal of lessthan zero sets the controller to use the feed up speed target. Note thatthe feed-up signal is multiplied by −1 because negative actuationsrepresent feed up. In switch block 1060, a command signal of 0 sets thefeed speed target to zero. Finally in PIV feedback controller block1070, the output signal is adjusted so that the plant value matches thecomputed target value. Details of a typical PIV feedback controllerblock may be found in FIG. 6 above.

FIG. 12 describes the graphical model for water flow control 1200. Thismodel takes sensor and parameter inputs to calculate a water flowcommand Table 4 following lists definitions for the various identifiersshown in the graphical model shown in FIG. 12 relevant to the proceduresfor water-flow control.

TABLE 4 Name Source Description BitArea Parameter Drill bit/hole area inm{circumflex over ( )}2 KiWater Parameter Integral gain for water flowcontrol KpWater Parameter Proportional gain for water flow controlKvWater Parameter Derivative gain for water flow control QW_out OutputWater flow command output to actuator scaled from 0 to 100%(rig maximum)Qwplant sensor Current measured water flow rate (l/min) R sensor Currentmeasured feed rate from rig (m/min) WaterDrillMax Parameter Maximumwater flow capability of rig (l/min)

Referring to FIG. 12, the model 1200 shows how the target water flowrate is calculated by determining flow rate of material excavated fromthe borehole by first multiplying bit area by current rate ofpenetration. This value is then multiplied by the desired proportion ofwater to be applied resulting in a liters/min target water flow rate.The target water flow is then limited to be between the maximum waterflow capability of the drilling rig and zero, so that the feedbackcontroller will only receive achievable values. As shown in thewater-flow control model, the target value is fed through to the outputto speed response of the control loop. To improve accuracy, a feedbackloop is used to adjust the output. The plant sensor value is subtractedfrom the target to measure the error. The error is multiplied by aproportional gain, then the error is multiplied by an integral gain, andthen integrated over time, and the sensor value is multiplied by aderivative gain and the derivative of the sensor value is taken.Proportional and integral values are added and derivative value issubtracted from the target value to create an adjusted output. Theadjusted output value is divided by the maximum output value of thedrilling rig 110 and the result limited to values between 0 and 1. Thisvalue is then output as a percentage command to the water-flow actuator240 of the drilling rig 110.

FIG. 13 describes the graphical model for air-flow control 1200. Thismodel takes sensor and parameter inputs to calculate an air flow commandTable 5 following lists definitions for the various identifiers shown inthe graphical model shown in FIG. 13 relevant to the procedures forair-flow control.

TABLE 5 Name Source Description APMin Parameter Minimum air pressuretarget (bar) In_AP sensor current measured bit air pressure (bar)KiAPMin Parameter Integral gain for minimum air pressure control KpAPMinParameter Proportional gain for minimum air pressure control KvAPMinParameter Derivative gain for minimum air pressure control Q_Air_InCalculated Target airflow setting in % of capacity based on bailingvelocity target Q_Air_Out Output Target airflow setting output in % ofcapacity

Referring to FIG. 13, the graphical air-flow control model 1300, aminimum desired bit air pressure is sent to the controller (variableAPMin). The APMin value varies with the aggressiveness setting. Abaseline minimum air pressure is used for minimum aggressiveness and theminimum pressure increased for each increase in the aggressivenesssetting. For rotary drilling about 34 psi is preferably used at minimumaggressiveness, and the pressure target raised about 5 psi for eachincrease in aggressiveness. When collaring, the minimum air pressuresetting is set to the minimum aggressiveness value. To improve accuracy,a feedback loop is used to adjust the output. The target value is fedthrough to the output to speed response of the control loop. The plantsensor value is subtracted from the target to measure the error. Theerror is multiplied by a proportional gain, then the error is multipliedby an integral gain, and then integrated over time, and the sensor valueis multiplied by a derivative gain and the derivative of the sensorvalue is taken. Proportional and integral values are added andderivative value is subtracted from the target value to create anadjusted output.

Further, as shown in FIG. 13, a target bailing velocity is calculated bymultiplying a baseline value by three adjustment factors, one for rateof penetration, one for drill hole angle and one for water injection.All of these factors can reduce the ability to remove cuttings from thehole so more airflow is used to compensate. A recommended bailingvelocity range is also stored in the database and displayed on the GUI.This range is preferably set to about 5,500-12,000 ft/min. The rate ofpenetration adjustment is based on the rate of penetration where thesystem begins to reduce weight on bit, thus lower aggressivenesssettings will result in lower bailing velocity targets. The airflowtarget is increased about 50% per each meter/minute of target drillingspeed increase. The water flow adjustment increases airflow by about 10%if water injection is used in the process. The angle adjustmentincreases airflow by about 0.5% per degree of inclination from vertical.When collaring, the bailing velocity target is set to the minimumaggressiveness value. The air flow target from the minimum pressurefeedback loop is subtracted from the target airflow setting based onbailing velocity calculation. If the value is positive, indicating thebailing velocity airflow is higher, the bailing velocity target will beused. If the value is negative indicating the minimum pressure airflowtarget is higher, the minimum pressure value will be used. The adjustedoutput value is divided by 100 and the result limited to values between0 and 1. This value is then output as a percentage command to theair-flow actuator 230 of the drilling rig 110.

CONCLUSION

None of the description in this application should be read as implyingthat any particular element, step, or function is an essential elementwhich must be included in the claim scope; the scope of patented subjectmatter is defined only by the allowed claims. Moreover, none of theseclaims are intended to invoke paragraph six of 35 U.S.C. Section 112unless the exact words “means for” are used, followed by a gerund. Theclaims as filed are intended to be as comprehensive as possible, and nosubject matter is intentionally relinquished, dedicated, or abandoned.

I claim:
 1. A method for drilling a borehole using a drilling rig havingat least one rotary drill bit, and a hoist actuator, the methodcomprising: executing a procedure to regulate the feed rate of the drillbit, the procedure comprising: executing a feed-rate regulationprocedure; the feed-rate regulation procedure receiving a first inputsensor value representing a currently-measured feed rate; the feed-rateregulation procedure further receiving target feed rate; the feed-rateregulation procedure having an output; scaling the output of thefeed-rate regulation procedure by dividing the output of the feed-rateregulation procedure by the maximum feed-rate value for the drillingrig; and, outputting the scaled value of the feed-rate regulationprocedure as a command to the hoist actuator of the drilling rig.
 2. Themethod of claim 1, where the procedure to regulate the feed rate of thedrill bit further comprises: executing an air-pressure exception controlprocedure and outputting from the air-pressure exception controlprocedure a command to reduce the drill bit feed-down rate when apredetermined jam prevention threshold is crossed; and, executing antorque-retract exception control procedure and outputting from thetorque-retract exception control procedure a command to reduce the drillbit feed-up rate when a predetermined jam prevention threshold iscrossed.